home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 007 / cstdio.arc / SRC.ARC / ITOAB.C < prev    next >
C/C++ Source or Header  |  1984-07-29  |  561b  |  27 lines

  1. /*    itoab.c - integer to ASCII based conversion.
  2.     K & R page 60, using pointers, including reverse.
  3.     Entered - G. R. Mansfield.  84/06/06.
  4.     Ver 1.0-4729.
  5. */
  6.  
  7. itoab(n, s, b) /* convert n to characters in s using base b */
  8. char *s;
  9. unsigned b, n;
  10. {
  11.     char c, *p;
  12.     int i;
  13.  
  14.     p = s;
  15.     do {    /* generate digits in reverse order */
  16.         i = n % b;    /* get next digit */
  17.         *p++ = (i >= 10) ? i + ('A' - 10) : i + '0';
  18.     } 
  19.     while ((n /= b) > 0);    /* delete it */
  20.     *p = '\0';
  21.     while (p > s) {    /* reverse string */
  22.         c = *s;
  23.         *s++ = *--p;
  24.         *p = c;
  25.     }
  26. }
  27.